O protocolo Gemini é um protocolo de camada de aplicação para sistemas de informação de hipertexto distribuídos que fornece acesso a documentos simples, principalmente textuais, no Gemini space . Isso é feito com tecnologias contemporâneas, como TLS, melhorando assim a privacidade e a agência do usuário em relação à web. O protocolo está sendo projetado de forma colaborativa e não está sendo padronizado como um padrão da Internet .
O design é inspirado no protocolo Gopher, mas exige o uso do Transport Layer Security com confiança no primeiro uso (TOFU) [1] e recursos relacionados à privacidade. Não se destina a substituir Gopher ou HTTP, mas sim a coexistir com eles.[2][3]
Gemini é projetado dentro da estrutura do pacote de protocolos da Internet . Como o HTTP(S), o Gemini funciona como um protocolo de requisição-resposta no modelo de computação cliente-servidor. Um navegador Gemini (como um navegador HTTP ), por exemplo, pode ser o cliente e um aplicativo em execução em um computador que hospeda um site Gemini pode ser o servidor . O cliente envia uma mensagem de requisição Gemini ao servidor.
Os recursos Gemini são identificados e localizados na rede por Uniform Resource Locators (URLs), usando o esquema de URI gemini:// que é análogo ao https:// para a web HTTPS. Não existe nenhum análogo inseguro dentro do Gemini para o esquema http:// original. Como ocorre com o hipertexto HTTP, os URIs são codificados como hiperlinks em documentos gem-text, de modo a formar documentos de hipertexto interligados na "web" Gemini, que os usuários chamam de Gemini space.[4]
Muito parecidas com a especificação HTTP 0.9 original, as requisições Gemini consistem apenas de uma dada URL, e as especificações de rascunho atuais exigem que este formato de solicitação não seja extensível, a fim de preservar um dos objetivos declarados do projeto, a simplicidade, e assim diferenciar o caminho que o Gemini vai seguir para se diferenciar do HTTP. Em uma escolha de design consciente análoga à do HTTP/0.9 original, o Gemini usa uma conexão separada com o mesmo servidor para cada solicitação de recurso. Este design, para simplicidade e controle do usuário, não permite que mais dados sejam solicitados ou fornecidos pelo servidor sem mais solicitações explícitas do cliente. Embora o custo disso possa ser maior latência no estabelecimento de conexões TCP, a intenção do Gemini é fornecer uma web de documentos mais simples (em contraste, por exemplo, a imagens embutidas), que deve carregar rapidamente em redes modernas mesmo com essa escolha.
<ref>
inválida; não foi fornecido texto para as refs de nome faq
<ref>
inválida; não foi fornecido texto para as refs de nome oldvcr
<ref>
inválida; não foi fornecido texto para as refs de nome lagrange